1. Field of the Invention
The present invention is generally related to the field of wireless modems, and more particularly to a dual port wireless modem that handles circuit switched and packet switched data.
2. Background of the Invention
In existing external wireless modems, the wireless modem is configured to be coupled with a single external device, typically through a single serial port. When communication using the wireless modem is desired, data and control signals are received over the single serial port and modulated through the wireless modem so that the data and control signals are passed over an over-the-air interface using a wireless protocol such as GSM.
For example, FIG. 1 depicts a known external wireless modem 100. The wireless modem 100 consists of a microprocessor 104, a read only memory (“ROM”) 112, a random access memory (“RAM”) 108, for holding runtime variables for the microprocessor 104, and an RF transceiver 116, for modulating and receiving data and control signals to and from the over-the-air interface 128. Since the wireless modem 100 is external, a single serial port 120 is provided for communicatively coupling the wireless modem 100 to external equipment, usually via a physical communication line such as a serial cable.
A drawback to known external wireless modems is that all communications with the terminal equipment pass through the same serial port 120. For example, a particular terminal equipment may be desirous of communicating real-time data via a circuit switched data (hereinafter “CSD”) call to a particular piece of remote equipment. If, for some reason, the terminal equipment suddenly needs to send non real-time data to the remote equipment, the terminal equipment must somehow interleave the non real-time data with the real-time data and communicate it to the wireless modem 100.
While by itself, the interleaving of non real-time data with real-time data may not cause significant problems at the terminal equipment. Problems, however, are presented at the wireless modem 100. This is so because the wireless modem must essentially make a context switch between real-time and non real-time data transfer, as the non real-time data is usually sent via a more efficient packet-type data transfer, such as short message service (hereinafter “SMS”) messages, rather than a CSD transfer.
For a microprocessor with limited computational abilities and resources, the effects of a context switch on memory resources can be significant, as a decision to switch between transfer modes will cause an interruption in the real-time data flow.
For instance, FIG. 2 depicts a known process for switching between transfer modes (contexts) in a wireless modem. In step 204, the single serial port 120 is initialized. At step 208, a CSD call is initialized, for example by the terminal equipment sending or causing an “ATDTxxxxxxx” command to be received at the wireless modem 100. The command in step 208 will cause the wireless modem 100 to dial a telephone number (“xxxxxxx”) and connect to remote equipment via the RF transceiver 116. The remote equipment will send back a “CONNECT xxxx” signal, which is received at the wireless modem 100 in step 212, thereby establishing a CSD call.
At step 216, data transfer over the wireless modem 100 begins—transferring data from the terminal equipment to the remote equipment. At step 220, a periodic poll will take place to determine if a SMS command has been received at the wireless modem 100 from the terminal equipment. If an SMS command has been received, then in step 232, the CSD transfer over the serial port 120 is interrupted, and in step 236 a SMS data transfer is initialized. In step 240, the SMS data transfer occurs over the RF transceiver.
In step 244, a test is performed to determine if the SMS data transfer is complete. If the transfer is not complete, then the process continues to step 240. Otherwise, in step 248, a command, for example “AT0” is received over the serial port 100 to cause the wireless modem 100 to make a context switch back to the CSD mode. Next, the process continues to step 216, where the CSD transfer is resumed.
After step 220, if there is not a SMS message, then in step 224 a test is performed to determine whether the CSD call has ended. Usually, an “ATH” command is received over the serial port 120. If the CSD call has not ended, then processing continues to step 216. Otherwise, processing continues to step 228, where the CSD call is ended and processing terminates.
Using the wireless modem and process described above in a real-time surveillance or control environment can have drawbacks. For instance, the wireless modem may be deployed in a school bus and real-time video could be fed through the serial port 120. An alarm condition may occur in the school bus. When the alarm condition occurs, the real-time data stream is interrupted while the alarm condition is fed over the serial port 120, thereby causing important real-time information to be lost.
Moreover, it may also be desired that non real-time data be received by the wireless modem 100, for example by way of an SMS message while a CSD call is in progress. In the wireless modem's present configuration, receipt of SMS data is not possible until the CSD call is terminated.
In circumstances where the real-time data transfer is critical, or it is highly undesirable to interrupt the CSD transfer, the present wireless modem 100 has significant drawbacks. Essentially, the channel between the wireless modem 100 and the terminal equipment has two mutually exclusive modes (CSD or SMS) that can drain processing resources in the wireless modem and interrupt critical real-time communications.